Method and apparatus for securing a computer-based game of chance

ABSTRACT

A system is described for facilitating an Internet-based game of chance, particularly a computer-based version of a punchboard game having a grid with prizes associated with the various grid locations. The user can pay a central controller for each selection by providing a credit card number, or through other Internet transaction means. The central controller sends the user a fresh virtual punchboard (i.e. a game in which no selections have yet been made). The user selects a grid location, encrypts it, and then transmits it to the central controller. The central controller then generates prize values for the grid that it sent to the player. The user&#39;s computer stores the locations of each prize and determines whether the player&#39;s selection was a winner. If he has won, the player sends the decryption key to the central controller to decrypt his grid selection and authenticate his selection. The central controller then initiates a payment to the user.

BACKGROUND OF THE INVENTION

[0001] This invention relates to an electronic gambling game in which aplayer selects from a series of possible outcomes. The player and gameprovider may interact in a variety of ways, including over the Internet.

[0002] A number of well-known gambling games are based on a playerselecting from a series of possible outcomes, where the winning outcomeis randomly generated using some physical or mechanical device furnishedby the game operator. Examples of such games are roulette, slotmachines, and bingo. In the classical embodiments of these games, theplayer sees and/or hears the outcome generated (as in bingo androulette), or even has a hand in generating the outcome himself (as inslot machines). The player's trust in the fairness of these games (thatis, his belief that the outcome is random and that his selection, if awinner, will be honored) is largely based on his personal observation.Similarly, the game operator can use various methods to prevent cheatingby a player if the player is personally present; for example, a bingoplayer claiming to be a winner is required to offer his card forinspection.

[0003] A well-known example of an entertainment/gambling device is the“punchboard.” A punchboard consists of a board with a square grid ofholes. Each hole contains a small rolled-up piece of paper. The playertakes a pin and pushes through the board, pushing a selected piece ofpaper through the other side. This paper is then unrolled by the playerto reveal whether or not he has won a prize. In a typical punchboardgame, a player pays a small sum (approximately $1) to make a selection;prizes are determined by the size of the board and the fees, and may runhundreds of dollars.

[0004] Here, too, the player's confidence in the fairness of the game islargely based on his observation of the board; since he selects a pieceof paper and can immediately read the message on it, he can be sure thatthe paper is not switched or tampered with after he selects it. Inaddition, by watching a number of plays he can eventually satisfyhimself that there are indeed winning locations somewhere on the board.A successful electronic version of a punchboard game (a “virtualpunchboard”) must offer the player similar assurance that the game isnot rigged, and must also prevent cheating the player.

[0005] Various forms of electronic games of chance have been availablefor many years. The way these games are played, however, is changingdramatically with the use of digital computers operating on electronicnetworks such as the Internet. Players can now connect to a remoteserver and wager electronically. Rather than traveling to the game(casino, bingo hall, etc.), a player can log into an electronic game andwager from the comfort of his own home. While this remote playing hasmany advantages, it raises several security issues. In a typicalelectronic gambling game, the player enters his selection and thenlearns whether he has won, without observing the winning selection beinggenerated. For example, when playing card games at a casino, a playercan observe the dealer shuffle and deal the cards and thus has someconfidence that the outcome was generated randomly. In an electroniccasino, the shuffling process is typically digitally generated, drivenby random number generators which the player cannot see. The playercannot know whether the random number generated is truly random or wasselected by the casino to give it an advantage.

[0006] Furthermore, a player desiring to play an electronic gameremotely (for example, communicating with a game provider on theInternet) must send his selection and receive the winning selection overa communication network. In this instance, both the player and gameprovider require assurance that the communications are secure and thatthe game is conducted fairly.

[0007] Electronic game providers have tried to increase players'confidence in the legitimacy of games by assuring players that gamingsoftware has not been tampered with. For example, an electronic gameprovider may allow an independent third party to perform an audit of thesoftware. This is a time-consuming and expensive process, however. Withcomplex software running into the hundreds of thousands of lines ofcode, it is very difficult to find a few lines of code that alter therandomness of the outcomes. Also, use of an independent, third partyauditor shifts the need for trust to another party, and does notguarantee the legitimacy of the game.

[0008] Some electronic lottery systems have used methods for securingcommunications between remote player terminals and a central controller.For example, U.S. Pat. No. 4,652,998 to Koza et al. (“Video GamingSystem With Pool Prize Structures”) describes cryptographic methods forsecuring these communications. In games dependent on the use of randomnumbers, however, simply securing against the transmission of afraudulent random number does not solve the problem of assuring theplayer that the game is fairly conducted. Nor does it solve the problemof preventing multiple players from cooperating to gain an advantageover the game provider.

[0009] U.S. Pat. No. 5,326,104 to Pease et al. (“Secure AutomatedElectronic Casino Gaming System”) describes a system whereby a number ofkeno playing devices, all within the same playing area, are connected toa central controller. A player can play a device by inserting a playeraccount card into it which is registered and confirmed by the centralcontroller. Security in this system is directed primarily to ensuringthat players will not tamper with the keno terminals, and that employeeswill not enter false tickets into the system. Apparently it is assumedthat the central controller is trusted and will not try to cheat theplayers.

[0010] U.S. Pat. No. 5,569,082 to Kayer (“Personal Computer LotteryGame”) describes a game whereby a player can purchase a game piececontaining an encrypted code which determines whether the piece is awinning one. The player logs onto a central site, via a PC or a kiosk,and types in the code. The site runs a game which reveals to the playerif he is a winner in “an exciting fashion.” If the player is a winner,he will be given instructions by the site as to where to pick up hisprize. Although the system described in this patent provides encryptionto protect the site from fraud, it offers no encryption to protect theplayer.

[0011] U.S. Pat. No. 5,547,202 to Tsumura (“Computer Game Device”)describes a system whereby a player can pay for the usage of gamestransmitted to his PC or to a kiosk via satellite from a centralcontroller. The games are scrambled until payment is made. The centralcontroller can store a game so that a player can take breaks from agame, return to it and continue play from the point in the game at whichhe left it. This system has neither a gambling element nor is itcryptographically enabled.

[0012] U.S. Pat. No. 5,269,521 to Rossides (“Expected Value PaymentMethod and System For Reducing the Expected Per Unit Costs of Payingand/or Receiving a Given Amount of Commodity”) describes a system wherea customer exchanges encoded numbers with a product vendor. After beingdecoded, the two numbers are combined to determine a result. (See column30, lines 1 to 5, as well as column 30, line 35, to column 31, line 55).The transactions described are not conducted in an online manner.Additionally, both parties must encode their numbers before exchangingthem. No game results are ever exchanged in encoded form.

[0013] U.S. Pat. No. 4,309,569 to Merkle (“Method of providing digitalsignatures”) describes a system for digital signatures utilizing hashtrees.

[0014] The proliferation of electronic network technology, along withthe ease of user access to networks such as the Internet, hasdramatically increased electronic communications and the exchange ofinformation. Among a myriad of other uses, these networks facilitate theplaying of games, including gambling activities. They are particularlywell suited for such gaming because of their ability to collapsegeographic distances while linking distributed players. As discussedabove, however, the electronic implementation of games, and particularlygambling activities, often results in the loss of confidence andvalidity otherwise imbued in players from their personal observation oftraditional gaming procedures (for example, dealing cards, spinningroulette wheels, etc.).

[0015] There thus exists a need in the art for systems and procedureswhich can both actually and in the perception of players improve thesecurity and operation of electronic gambling and games. Such systemsand procedures would not only foster the perception of on-line gaming aslegitimate, but also increase player participation in such activities.This would further increase the commercial value of what is already asubstantial online business.

SUMMARY OF THE INVENTION

[0016] In accordance with the present invention there is provided a newand improved method and apparatus for facilitating computer-based gamesof chance on electronic networks such as the Internet. A key feature ofthe invention comprises the use of encoding techniques, includingvarious encryption schemes, to validate the operation of the games andprevent cheating by either the player or the game provider. Althoughencryption methods are described, it should be noted that any encodingscheme which prevents the recipient of a message from deciphering itscontents will suffice.

[0017] In accordance with one embodiment of the invention, a method ofgenerating and verifying the results of a computer-based game of chanceis implemented by transmitting to a player computer a plurality ofavailable game selections, each identified by a unique selectionidentifier. A player selection identifier is received from the playercomputer, and a winning selection identifier transmitted to the playercomputer. The player selection identifier and the winning selectionidentifier are compared to determine if the player has won the game. Inaccordance with the invention, verification is made that the winningselection identifier and the player selection identifier wereindependently generated.

[0018] Game operation is preferably managed by a central controller,with players communicating with the controller through player computersconnected over an electronic network. In different embodiments of theinvention, verification of authenticity is provided in the centralcontroller, the player computer, some combination of both, or with theinvolvement of a third party.

[0019] Games supported include all games of chance which permit a userto select from amongst a plurality of potentially winning selections.Applicable games include, but are not limited to a punchboard havingpunch locations, a roulette wheel having wheel numbers, a bingo gamehaving user-selected card numbers, and a slot machine havinguser-selectable outcomes.

[0020] Verification is provided through a variety of techniques,including the use of encryption such as key-based encryption, andhash-based encryption. The invention further contemplates the use of athird-party trusted agent to monitor and verify that the player andwinning selections were independently generated.

BRIEF DESCRIPTION OF THE DRAWINGS

[0021]FIG. 1 is a block diagram showing an overview of the system of thepresent invention.

[0022]FIG. 2 is a block diagram of the central controller of FIG. 1.

[0023]FIG. 3 is a block diagram of the user computer of FIG. 1.

[0024]FIG. 4 is a block diagram of a trusted third party computer.

[0025]FIG. 5 is a schematic representation of the punchboard game areabefore a game has been played.

[0026]FIG. 6 is a schematic representation of the punchboard game areaafter a game has been played.

[0027]FIG. 7a shows in tabular form the fields of the customer databaseof the central controller.

[0028]FIG. 7b shows in tabular form the information in the prizedistribution database of the central controller.

[0029]FIG. 8 is a flowchart describing initiation of a game according tothe preferred embodiments of the present invention.

[0030]FIG. 9a shows in tabular form the information in the auditdatabase of the user computer according to the first embodiment of theinvention.

[0031]FIG. 9b shows in tabular form the information in the game databaseof the central controller according to the first embodiment of theinvention.

[0032]FIGS. 10a and 10 b are connected flowcharts describing the flow ofplay between the central controller and user computer according to thefirst embodiment of the invention.

[0033]FIG. 11a shows in tabular form the information in the auditdatabase of the user computer according to the second embodiment of theinvention.

[0034]FIG. 11b shows in tabular form the information in the gamedatabase of the central controller according to the second embodiment ofthe invention.

[0035]FIGS. 12a and 12 b are connected flowcharts describing the flow ofplay between the user computer and the central controller according tothe second embodiment of the invention.

[0036]FIG. 13a shows in tabular form the information in the auditdatabase of the user computer according to the third embodiment of theinvention.

[0037]FIG. 13b shows in tabular form the information in the gamedatabase of the central controller according to the third embodiment ofthe invention.

[0038]FIGS. 14a, 14 b and 14 c are connected flowcharts describing theflow of play between the user computer and the central controlleraccording to the third embodiment of the invention.

[0039]FIG. 15a shows in tabular form the information in the auditdatabase of the user computer according to the fourth embodiment of theinvention.

[0040]FIG. 15b shows in tabular form the information in the gamedatabase of the central controller according to the fourth embodiment ofthe invention.

[0041]FIG. 16 is a flowchart describing the flow of play between theuser computer and the central controller according to the fourthembodiment of the invention.

[0042]FIG. 17a shows in tabular form the information in the auditdatabase of the third party according to the fifth embodiment of theinvention.

[0043]FIG. 17b shows in tabular form the information in the gamedatabase of the central controller according to the fifth embodiment ofthe invention.

[0044]FIGS. 18a and 18 b are connected flowcharts describing the flow ofplay between the user computer, the central controller, and the thirdparty computer according to the fifth embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0045] An overview of the system in the preferred embodiments of thepresent invention is shown in FIG. 1. The central controller 101,operated by the game provider, communicates with the user computer 102(operated by the game player) over the Internet 100. FIG. 2 is aschematic diagram of the structure of the central controller 101. Thecentral controller includes a CPU 201, connected to a cryptoprocessor202, a random number generator 203, RAM 204, ROM 205 and a data storagedevice 210. The CPU 201 connects to the Internet for communication withthe player's computer. The data storage device 210 includes a customerdatabase 211, a game database 212, storage for the prize distributionalgorithm 213 and a prize distribution database 214. To perform thevarious functions described in more detail below, the CPU 201 executes aprogram or programs stored in RAM 204 and/or ROM 205.

[0046] Cryptographic processor 202 supports the encoding and decoding ofcommunications with players, as well as the authentication of players.An MC68HC16 microcontroller, commonly manufactured by Motorola Inc., maybe used for cryptographic processor 202. This microcontroller utilizes a16-bit multiply-and-accumulate instruction in the 16 MHZ configurationand requires less than one second to perform a 512-bit private keyoperation. Other exemplary commercially available specializedcryptographic processors include VLSI Technology's 33 MHz 6868 orSemaphore Communications' 40 MHZ Roadrunner 284. Alternatively,cryptographic processor 202 may be configured as part of CPU 201.

[0047] A conventional random number generating processor may be used forrandom number generator 203. The HEMT integrated circuit manufactured byFujitsu, for example, is capable of generating over one billion randomnumbers per second. Alternatively, random number generator 203 may beincorporated into CPU 201. Data storage device 210 may include harddisk, magnetic, or optical storage units, as well as CD-ROM drives orflash memory.

[0048] The user computer 102 is shown schematically in FIG. 3. The usercomputer includes a CPU 301, connected to a cryptoprocessor 302, arandom number generator 303, RAM 304, ROM 305 and a data storage device310. The CPU 301 is also connected to an input device 320 and to theInternet, for communication with the user and the central controllerrespectively. In addition, the CPU 301 is connected to a display device330 for displaying a virtual punchboard to the user. The data storagedevice 310 includes an audit database 311. The CPU 301, cryptoprocessor302, random number generator 303 and data storage device 310 may havethe same features as CPU 201, cryptoprocessor 202, random numbergenerator 203 and data storage device 210 discussed just above.

[0049]FIG. 4 is a schematic diagram of a trusted third party computer400, which is used in an embodiment of the invention discussed in moredetail below. This computer includes a CPU 401, RAM 404, ROM 405 anddata storage device 410, similar to central controller 101 and usercomputer 102. The data storage device includes an audit database 411.The CPU 401 is connected for communication with the user computer 102and the central controller 101.

[0050]FIG. 5 shows the appearance of a virtual punchboard display 500,displayed to a user on the display device 330, before a game is played.The game is identified by a number 510, and an empty grid 511 is shown(in this case, a 12×12 square). A box 512 appears where the player mayenter his selected grid locations. The player's current credits 513 (howmuch he has paid for the present game, plus his winnings so far) mayalso be displayed; in the example shown, the player has no winningbalance and has just made an electronic payment of $1 to play game #6465484564.

[0051]FIG. 6 shows a results display 600, similarly displayed to theuser by display device 330, after the game is played. The winninglocations are displayed in a table 610 and on the grid 611, with theplayer's selection circled on the grid and displayed in a box 612. Alsodisplayed is the result of the game (in this case the player is told,“YOU WIN!”) and the balance 613 of the player's winnings. Finally, thedisplay includes a box 620 labeled “PLAY AGAIN?” The CPU 301 mayadvantageously execute interactive display software (stored in RAM 304or ROM 305) which enables “click boxes” and the like. In that case, theplayer would click on the “PLAY AGAIN?” box to order a new game.

[0052]FIG. 7a shows the fields of the customer database 211 maintainedby the central controller 101. Each customer is identified by name 701and is assigned an ID number 702. Each customer entry in the databasealso includes a credit card number 703, the customer's e-mail address704 and postal mailing address 705, the total amount the customer hasspent 706, and the customer's total winnings to that point 707. Thedatabase stores the grid selection preferences 708 for each customer (sothat a player who regularly plays the same location on the grid need notenter that location in every game), and the customer's preferred method709 of receiving his winnings.

[0053] The fields of the prize distribution database 214, maintained bythe central controller 101, are shown in FIG. 7b. Each prizedistribution is assigned an identification number 711. Each entry in thedatabase includes the size 712 of the grid, the denomination of the game713 (that is, the cost to the customer for one play) and the number andamount of prizes 714 to be awarded. Generally, a larger grid has moreprizes associated therewith, and a grid with larger prizes has a largerassociated denomination.

[0054] To create a new game, the central controller 101 employs a prizedistribution algorithm 213 having the following steps: The centralcontroller 101 retrieves the prize structure 714 and grid size 712 fromthe prize distribution database 214 by searching for the prizedistribution ID number 711. The CPU 201 instructs the random numbergenerator 203 to produce enough random numbers to cover the number ofgrid locations for the game. Each random number is appended to a gridlocation. The format might be (x,y,r), where “x” is the x-coordinate ofthe grid location, “y” is the y-coordinate of the grid location, and “r”is the assigned random number. The random numbers are then rankednumerically. Prizes are then appended to each grid location. The formatmight be (x,y,r,p), with “p” the prize value (which may be zero)assigned to the grid location (x,y). The game is then assigned an IDnumber. The winning grid locations for the game, and the prizesassociated with those locations, are then stored in the game database212, detailed embodiments of which are described below. Those skilled inthe art will appreciate that there are many possible algorithms by whichthe prices may be randomly assigned. The above algorithm is merelyillustrative.

First Embodiment User Computer Encryption

[0055] In the first embodiment of the invention, the fields of the auditdatabase 311 (stored in the user computer 102) are as shown in FIG. 9a.Each record in the audit database 311 corresponds to one game played bythe user, and is filled in as the game progresses (as described indetail below). A record includes an identification number 901 for thegame, the grid location or locations 902 selected by the player, thewinning grid locations 903, the game denomination 713, and a random key904 which the player uses to encrypt his grid location selections.

[0056] In this embodiment, the fields of the game database 212 (storedin the central controller 101) are as shown in FIG. 9b. Each record inthe game database corresponds to one game (having an ID number 901)played by one player (having an ID number 702). Each record includes thewinning grid locations 903, the player's selected and encrypted gridlocation 910, the corresponding decrypted grid location 920, and theplayer key 904.

[0057] A game conducted according to the first embodiment of theinvention begins with the steps shown in the flowchart of FIG. 8.Initially, the player (using his computer 102) logs on to the centralcontroller 101 via the Internet 100 (step 801). If the player does notyet have an account (that is, an entry in the customer database 211), anaccount is opened at this time; the player provides the necessaryinformation (step 804), and the central controller 101 assigns him an IDnumber and stores the new record in the customer database 211 (step805). If the player already has an account, he enters his customer IDnumber 702 (step 810). The player then selects the amount of money hewishes to play—that is, the denomination of the game; for example, $1,$3, or $5 (step 820). The user computer 102 updates the denominationfield 713 in the audit database 311 (step 830). The central controller101 debits the credit card account of the player for the amount of moneyplayed (step 840). The central controller 101 retrieves a new game gridfrom the prize distribution database 214 (step 850). Using the prizedistribution algorithm 213 described above, the central controller 101generates the winning grid locations 903, assigns the gameidentification number 901 and stores the game in the game database 212(step 860).

[0058] In this embodiment, the game continues with the steps shown inthe flowcharts of FIGS. 10a and 10 b. In step 1001 of FIG. 10a, a“blank” punchboard 500 including the game identification number 510 ismade available to the player. The player selects a grid location 902 andenters it into the user computer 102 using input device 320 (step 1002).The cryptographic processor 302 of the user computer 102 generates aplayer key 904, preferably based on a random number generated by randomnumber generator 303 (step 1003). The cryptographic processor 302encrypts the grid location selection 902 with the player key (step1004). The user computer 102 stores the game identification number,player key, and grid location selection in the audit database 311 (step1005).

[0059] In step 1006, the encrypted grid location and game identificationnumber are transmitted to the central controller 101. The centralcontroller then retrieves the record in the game database 212corresponding to the game identification number received from the usercomputer 102 (step 1007). The central controller 101 stores theencrypted grid location 910 in the game database 212 (step 1008).

[0060] At this point, the central controller 101 has the player's gridlocation selection, but only in an encrypted form. The centralcontroller 101 then transmits the winning grid locations 903 to the usercomputer 102 (step 1010 of FIG. 10b).

[0061] If the player has not won, he may proceed to select a new game(step 1061). If the player has won, the user computer 102 transmits theplayer key 904 and game identification number to the central controller101 (step 1051). The central controller decrypts the encrypted gridlocation 910, and stores the decryption result 920 (the player'sselected, winning grid location) and player key 904 in the game database212 (step 1052).

[0062] The amount of money won by the player is retrieved from winninggrid location field 903 of the game database 212 (step 1053). Thecentral controller 101 then sends the game result message 600 to theuser computer 102, indicating that the player has won (step 1054). Thecentral controller then proceeds to generate the next game (step 1055).

[0063] At the end of the billing cycle, the central controller 101queries the customer database 211 to see if the customer is owed money(step 1056). If money is due the customer, the central controller 101initiates a payment to the customer according to the customer'spreferred payment method 709 (step 1057).

[0064] It should be noted that a key element of this embodiment is thatthe user sends his grid location selection in encrypted form (thusunreadable by the central controller 101) to the central controllerbefore receiving the winning grid locations. The player is therebyassured that the game provider cannot change the winning locations basedupon knowledge of his selection. On the other hand, the centralcontroller holds the player's encrypted selection before the player isgiven the winning locations, and the player must provide the key todecrypt his selection before the central controller awards him a prize.The encryption of the player's selection thus assures both parties thatthe game has been fairly conducted, and that the two numbers wereindependently generated.

[0065] A transmission between the central controller and the player mayinclude a digital signature to provide further assurance of theauthenticity of the transmission, and to prevent repudiation by thesender. The uses and advantages of digital signatures are discussedgenerally in Schneier, “Applied Cryptography” (2d ed. 1996), chapter 2.

[0066] The above embodiment is also applicable to a game such asroulette. Instead of encoding his grid location selection, the playerencrypts his number selection (representing any of the 38 wheel slots).The central controller then transmits the result of the wheel spin tothe player.

[0067] The game of bingo could be simulated as follows. The playerselects a board and then encrypts his selection before sending it to thecentral controller. The central controller then sends out each bingonumber until one of the players claims a win. The winning player sendshis key to the central controller so that his selection can be verified.

[0068] To simulate a slot machine, the player simply selects one of thepossible reel combinations of the slot machine. In a slot machine withthree reels and 20 stops per reel, there are 8,000 (20×20×20) possibleoutcomes, so the player could select one of these at random, encryptingthe selection and sending it to the central controller. The centralcontroller then distributes the prizes among the possible outcomes andsends the complete set of outcomes to the player so that he candetermine whether or not he has won.

Second Embodiment One-Way Hash

[0069] In the second embodiment of the invention, the audit database 311in the user computer 102 has a structure as shown in FIG. 11a. As in thefirst embodiment, each record in the audit database corresponds to onegame. A record includes the game identification number 901, selectedgrid location or locations 902, winning grid locations 903 and the gamedenomination 713, similar to the record shown in FIG. 9a. In thisembodiment, the record also includes the hash value 1101 of the winninggrid locations 903.

[0070] The structure of the game database 212 in this embodiment isshown in FIG. 11b. Each entry in the game database has a gameidentification number 901, a customer identification number 702 and thewinning grid locations 903, as in the first embodiment. The entry alsohas the user-selected grid location 902 and the hash value 1101 of thewinning grid locations 903.

[0071] A game conducted according to the second embodiment of theinvention begins with the steps shown in the flowchart of FIG. 8 asalready described above, and continues with the steps shown in theflowcharts of FIGS. 12a and 12 b. In step 1201 of FIG. 12a, thecryptoprocessor 202 of the central controller 101 retrieves the winninggrid locations 903 of the game from the game database 212, and uses aone-way hash function to hash the winning grid locations 903, therebygenerating the hash value 1101. The hash value 1101 represents a one-waytransformation of the winning grid locations 903.

[0072] An important feature of the one-way hash function is that it iscomputationally simple (given the hash function) to generate the hashvalue, but computationally unfeasible to recreate the winning gridlocations from the hash value alone. The hash value 1101 thus serves asa unique identifier for the winning grid locations 903, without thewinning grid locations themselves being revealed. Further details onone-way hash functions are given in Schneier, “Applied Cryptography” (2ded. 1996), chapter 18.

[0073] The central controller 101 distributes the hash value 1101 to theuser computer 102, along with a “blank” punchboard 500 with gameidentification number 510 (step 1202). The user computer 102 stores thehash value and game ID number in the audit database 311 (step 1203). Instep 1204, the player selects a grid location and enters it into theuser computer 102; the player may make additional grid locationselections. Once the player has made all of his selections, the usercomputer 102 stores the game identification number 901, the selectedgrid locations 902 and the hash value 1101 in the audit database 311(step 1211). The user computer 102 transmits the selected grid locations902 to the central controller 101 along with the game ID number (step1212). It should be noted that at this point the central controller 101has the player's selections, but has already provided the player with arepresentation of the winning grid locations in the form of the hashvalue 1101. In step 1213, the central controller 101 determines whetherthe player has chosen a winning grid location by comparing the selectedlocations 902 with the winning grid locations 903 for that game.

[0074] Referring now to FIG. 12b, the central controller 101 sends thewinning grid locations 903 to the user computer 102 (step 1251). In step1252, the user computer 102 verifies the fairness of the game.Specifically, the cryptographic processor 302 of the user computer 102applies the one-way hash function to the received winning grid locationsto verify that the hash value 1101 given to him before sending hisselection is equal to the new hash value calculated by applying theone-way hash function to the winning grid locations.

[0075] If the player has not won, the central controller 101 proceeds togenerate the next game (step 1270). If the player has won, the centralcontroller 101 updates the total money awarded 707 in the customerdatabase 211 to reflect the amount the player has just won (step 1260),and then generates the next game. In addition, at the end of a billingcycle, the central controller 101 queries the customer database 211 tosee if the customer is owed money (step 1280). If money is due theplayer, the central controller 101 initiates a payment to the customeraccording to customer's payment method preference 709 (step 1281).

[0076] It should be noted that in this embodiment the punchboard cannotbe reused; it must be replaced with a fresh punchboard after each playerselection. If the punchboard were not replaced, the player couldcontinue to select grid locations after receiving the winning gridlocations 903 (see step 1251). The player could, however, make more thanone selection during a game session (see step 1204), as long as eachselection was received by the central controller 101 before the winninglocations were transmitted to the player.

[0077] With minor modifications, this embodiment of the invention canaccommodate any number of players. By delaying the transmission of thewinning grid locations until after all grid location selections havebeen received, any number of players can be accommodated with onepunchboard. Alternatively, games could be conducted at great speed,preventing players from cheating by sharing winning locations. Forexample, two players might make selections on the same punchboard nearlysimultaneously. The first player sends his grid location selection andthen receives the winning grid locations. A fraction of a second laterthe second player sends his grid location selection. If the first playercan communicate with the second player he can inform the second playerof the winning grid locations, ensuring a win for the second player. Ifthe time difference between the two plays is small enough, however, thefirst player will not have enough time to communicate the winninglocations.

Third Embodiment Hash Tree

[0078] The third embodiment of the invention uses hash trees toaccommodate multiple players in a single punchboard game. Details ofhash tree techniques are well known in the art and for referencepurposes are discussed in Merkle (U.S. Pat. No. 4,309,569).

[0079] In this embodiment, each grid location is represented by(x,y,p,h_(xy′)), where x and y are the coordinates, p is the prizeassociated with that location, h_(xy) is the hash value of thatlocation, and h_(xy′)is an aggregate hash value for all the otherlocations. Furthermore, a hash value, h, is calculated for the entiregrid (including all locations) using hash function H. This function hasthe property H(h)=H(h_(xy), h_(xy′)) That is, the hash value for theentire grid is equal to the hash value of one location combined with thelocations's h_(xy′)value. For additional security, a random number maybe attached to each grid location to provide greater variation in theresulting hash values.

[0080] In this embodiment of the invention, the audit database 311 inthe user computer 102 has a structure as shown in FIG. 13a. As in theprevious embodiments, each record in the audit database corresponds toone game. A record includes the game identification number 901, selectedgrid location or locations 902, winning grid locations 903 and the gamedenomination 713, similar to the records shown in FIGS. 9a and 11 a. Inthis embodiment, the record also includes the hash value 1101 for allgrid locations (both winning and losing), and an aggregate hash value1301, representing the hash value of the aggregate of all the gridlocations not selected by the player (i.e. the h_(xy′)values of all thegrid locations selected by the player).

[0081] The structure of the game database 212 in this embodiment isshown in FIG. 13b. Each entry in the game database has a gameidentification number 901, a customer identification number 702 and thewinning grid locations 903, as in the previous embodiments. The entryalso has the user-selected grid location 902, the denomination 713 ofthe game, the hash value 1101 for all grid locations, and the aggregatehash value 1301.

[0082] A game conducted according to the third embodiment of theinvention begins with the steps shown in the flowchart of FIG. 8 asalready described above, and continues with the steps shown in theflowcharts of FIGS. 14a, 14 b and 14 c.

[0083] In step 1401, the cryptoprocessor 202 of the central controller101 retrieves the value of all grid locations of the game from the gamedatabase 212, and uses one-way hash function H stored in the memory (RAM204 or ROM 205) of the central controller to hash these grid locations,thereby generating h, the hash value 1101 (i.e. the hash value of allgrid locations). The central controller 101 then (step 1402) distributesthe hash value 1101 to the user computer 102, along with a “blank”punchboard 500 including the game identification number 510. The usercomputer 102 stores the hash value 1101 in the audit database 311 (step1403). The player selects a grid location 902 and enters it into theuser computer 102, using the input device 320 (step 1404). The playermay enter additional selections if he so desires. After the player hasmade all of the selections for that game, a new record is entered in theaudit database 311 of the user computer 102, reflecting the ID numberfor the game and the player's selected grid locations (step 1410). Theuser computer 102 then transmits the player's grid selections 902 andgame ID number to the central controller 101 along with the game IDnumber (step 1411).

[0084] The central controller then (step 1451) queries the game database212 to obtain the winning grid locations 903, to determine whether ornot the player's grid selections correspond to the winning gridlocations. The central controller 101 sends a message to the usercomputer 102 relating whether the player has won (step 1452).

[0085] The integrity of the game is verified in steps 1453 through 1457.Using the hash tree algorithm, the cryptoprocessor 202 of the centralcontroller 101 generates (step 1453) an aggregate hash value 1301; thisvalue is the hash value of the aggregate of all the grid locations thatthe player did not pick (i.e. h_(xy′)). The aggregate hash value 1301 isstored in the game database 212 of the central controller (step 1454).In step 1455, the central controller 101 sends the aggregate hash value1301 to the user computer 102, which updates the aggregate hash valuefield of the audit database 311.

[0086] Using hash tree techniques, the cryptoprocessor 302 of the usercomputer 102 takes both the information relating to the prize valuecorresponding to the player's selection (i.e. h_(xy)) and the aggregatehash value 1301 to calculate a hash value for the entire grid (step1456). In step 1457, the user computer 102 uses hash tree techniques tocompare this hash value for the entire grid to the hash value 1101stored in the audit database 311. If the two values match, the integrityof the game is confirmed.

[0087] At this point, the player does not know the location of anywinning locations on the grid, and therefore cannot help any otherplayer to win. The winning grid locations are not revealed until allplayers have made all of their selections.

[0088] When all grid locations have been selected by all the players,the central controller 101 sends the winning grid locations to the usercomputer 102 (step 1458). The user computer stores the winning gridlocations in the audit database 311 (step 1481). At the end of a billingcycle, the central controller 101 queries the customer database 211 tosee if the customer is owed money (step 1482). If money is due thecustomer, the central controller 101 initiates a payment to the customeraccording to the customer's preferred payment method 709 (step 1483).

Fourth Embodiment Central Controller Encryption

[0089] In the fourth embodiment of the invention, the audit database 311in the user computer 102 has a structure as shown in FIG. 15a. As in theprevious embodiments, each record in the audit database corresponds toone game. A record includes the game identification number 901, selectedgrid location or locations 902, and the game denomination 713. In thisembodiment, the record also includes a random key 1510, and encryptedand decrypted versions (1520 and 1530 respectively) of the winning gridlocations.

[0090] The structure of the game database 212 in this embodiment isshown in FIG. 15b. Each entry in the game database has a gameidentification number 901, a customer identification number 702 and thewinning grid locations 903, as in the previous embodiments. The entryalso has the user-selected grid location 902, the game denomination 713and the random key 1510.

[0091] A game conducted according to the fourth embodiment of theinvention begins with the steps shown in the flowchart of FIG. 8 asalready described above, and continues with the steps shown in theflowchart of FIG. 16.

[0092] In step 1601, the central controller 101 retrieves the winninggrid locations 903 for a game from the game database 212; thecryptoprocessor 202 encrypts these locations using the random key 1510.The central controller 101 then transmits the encrypted grid locationsto the user computer 102 along with the “blank” electronic game board(step 1602). The player enters his grid location selections into theuser computer 102, using the input device 320 (step 1603). The usercomputer 102 transmits the player's grid location selection to thecentral controller along with the game ID number (step 1604). In step1605, the central controller stores the player's selections in theselected grid locations field 902 of the game database 212, and thentransmits the key 1510 to the user computer 102. The central controller101 then (step 1606) compares the user selected grid locations 902 withthe winning grid locations 903.

[0093] If the player is not a winner, the central controller proceeds togenerate the next game (step 1650). If the player is a winner, thecentral controller 101 updates the total money awarded 707 in thecustomer database 211 to reflect the amount the player has just won(step 1610). In addition, at the end of a billing cycle, the centralcontroller 101 queries the customer database 211 to see if the customeris owed money (step 1620). If money is due the player, the centralcontroller 101 initiates a payment to the customer according tocustomer's payment method preference 709 (step 1630).

[0094] It should be noted that a key element of this embodiment is thatthe central controller 101 sends the winning grid locations to the usercomputer 102 (though encrypted and thus unreadable by the user computer)before receiving the user's grid location selection. The player isthereby assured that the game provider cannot change the winninglocations based upon knowledge of his selection. On the other hand, thecentral controller holds the player's selection before the player isprovided with the key to decrypt the winning locations. The encryptionof the winning locations thus assures both parties that the game hasbeen fairly conducted.

[0095] This embodiment is particularly applicable to games such asblackjack, in which the central controller could randomly arrange anelectronic deck of cards, encrypt them, and transmit them to the player.The player then sends card selections and play decisions to the centralcontroller.

Fifth Embodiment Trusted Third Party

[0096] In the fifth embodiment of the invention, a trusted third partycomputer 400 is used to assure the integrity of the game. The auditdatabase 311 in the user computer 102, the audit database 411 in thetrusted third party computer 400 (both shown in FIG. 17a) and the gamedatabase 212 in the central controller 212 (shown in FIG. 17b) have thesame structure. Each record in these databases corresponds to one game.A record includes the game identification number 901, selected gridlocation or locations 902, the winning grid locations 903, the gamedenomination 713 and the customer identification number 702.

[0097] A game conducted according to the fifth embodiment of theinvention begins with the steps shown in the flowchart of FIG. 8 asalready described above, and continues with the steps shown in theflowcharts of FIGS. 18a and 18 b. In step 1801, the central controller101 transmits the game identification number 901 and the winning gridlocations 903 to the trusted third party 400. The central controller 101then sends a “blank” punchboard 500 to the user computer 102 (step1802). The player selects a grid location 902 and enters it into theuser computer 102, using the input device 320 (step 1803). The playermay enter additional selections if he so desires. After the player hasmade all of the selections for that game, the user computer 102transmits the player's grid selections 902 to the central controller 101(step 1810). The central controller queries the winning grid locationfield 903 of the game database 212 to determine if the player's gridselection is a winner (step 1811). If the selection is a winner (step1812), the controller notifies the player and updates the total moneyawarded field 707 of the customer database 211 accordingly.

[0098] The user computer 102 then transmits the game identificationnumber to the trusted third party 400 (step 1813). The CPU 401 of thethird party computer 400 queries the game identification number field901 of the audit database 411 and retrieves the requested gameidentification number (step 1814). The third party computer 400 thensends the winning grid locations corresponding to the requested gameidentification number to the user computer 102 (step 1815).

[0099] In step 1851, the player uses the information from the trustedthird party 400 to verify that the game provided by the centralcontroller 101 was legitimate. In this embodiment, the use of thetrusted third party makes encryption of player selected grid locationsand winning grid locations unnecessary.

[0100] At the end of a billing cycle, the central controller 101 queriesthe customer database 211 to see if the customer is owed money (step1852). If money is due the player, the central controller 101 initiatesa payment to the customer according to customer's payment methodpreference 709 (step 1853).

[0101] Many variations of the embodiments discussed above are possible.For example, the central controller can track the amount of play engagedin by individual users for marketing purposes. In particular, specialadvertisements could be transmitted over the Internet targeted to highvolume players. The central controller may offer demonstration games fornew users so that they learn how to play. The game may be configured asa “pulltab” game, rather than punchboard. A user may be offereddiscounts on subsequent game, to provide him with an incentive to playagain.

[0102] Although the above embodiments have been described with referenceto a remote player making payments by credit card, a number of paymentmethods are possible. For example, the player may maintain an accountwith the game provider, or make payments with digital cash. Furthermore,rather than interact remotely with the central controller, the playermay make his payment to a live cashier, who then enters the amount ofcredit into the central controller using an input device.

[0103] In addition, although the above embodiments have been describedwith reference to communication over the Internet, it will beappreciated that the practice of our invention is not limited toInternet communications, but is applicable to a variety of possiblemodes of communication between the game provider and the player.Commercial online services such as CompuServe and America Online couldimplememt the systems and methods of the present invention.

[0104] Each of the above-described embodiments of the virtual punchboardis generally applicable to a game in which a player predicts a randomoutcome. One skilled in the art will appreciate how the various aspectsof the virtual punchboard may be implemented in other games of chance(roulette, bingo, slot machines, blackjack, craps, lottery, etc.).

[0105] While the present invention has been described above in terms ofspecific embodiments, it is to be understood that the invention is notlimited to the disclosed embodiments. On the contrary, the presentinvention is intended to cover various modifications and equivalentstructures included within the spirit and scope of the appended claims.

We claim:
 1. A system for facilitating a computer-based game of chance,comprising: a computing device including a processor, a cryptoprocessorconnected to the processor and a memory device connected to theprocessor, the memory device containing a program, adapted to beexecuted by the processor, for transmitting a plurality of availablegame selections each identified by a unique selection identifier,receiving a player selection identified by a player selectionidentifier, transmitting a winning selection identifier, and comparingsaid player selection identifier with said winning selection identifierto determine a result of said game of chance, wherein player selectionidentifier is encrypted, said computing device transmits the winningselection identifier in an unencrypted format after receiving theencrypted player selection identifier, said computing device receivesthe decryption key after transmitting the winning selection identifier,said computing device decrypts the encrypted player selection identifierusing the cryptoprocessor and decryption key, and afterwards performssaid comparing by comparing the decrypted player selection identifierwith the winning selection identifier.
 2. A system according to claim 1, wherein said game of chance comprises an electronically implementedpunchboard.
 3. A system according to claim 1 , wherein said game ofchance comprises an electronically implemented roulette wheel.
 4. Asystem according to claim 1 , wherein said game of chance comprises anelectronically implemented bingo game.
 5. A system according to claim 1, wherein said game of chance comprises an electronically implementedslot machine.
 6. A system according to claim 1 , wherein said game ofchance comprises an electronically implemented lottery.
 7. A systemaccording to claim 1 , wherein said transmitting and receiving areperformed on the Internet.
 8. A system according to claim 1 , whereinthe memory device includes a game database containing the winningselection identifier and a prize amount associated therewith.
 9. Asystem according to claim 1 , wherein said computing device furthercomprises a random number generator for generating a random number foruse in selecting the winning selection from the plurality of availableselections.
 10. A system according to claim 1 , wherein the memorydevice includes a customer database containing a customer identifier andinformation regarding a credit account of a customer, and the program isfurther adapted to initiate a charge against the credit account inaccordance with the player selection and to initiate a payment to thecredit account of the prize amount in accordance with the result of saidgame.
 11. A system according to claim 1 , wherein said encryption keyand said decryption key are identical.
 12. A system according to claim 1, wherein the encryption key is based on a random number.
 13. A systemfor facilitating a computer-based game of chance, comprising: acomputing device including a processor, a cryptoprocessor connected tothe processor and a memory device connected to the processor, the memorydevice containing a program, adapted to be executed by the processor,for transmitting a plurality of available game selections eachidentified by a unique selection identifier, receiving a playerselection identified by a player selection identifier, transmitting awinning selection identifier, and comparing said player selectionidentifier with said winning selection identifier to determine a resultof said game of chance, wherein the cryptoprocessor generates a firstvalue based on the winning selection identifier, and said computingdevice transmits the first value with the plurality of available gameselections for comparison with a second value based on the transmittedwinning selection identifier, the winning selection identifiertransmitted after receipt of the player selection identifier, where saidcomparison is used to verify that the winning selection identifier andthe player selection identifier were independently generated.
 14. Asystem according to claim 13 , wherein the first value and the secondvalue are one-way hash values.
 15. A system for facilitating acomputer-based game of chance, comprising: a computing device includinga processor, a cryptoprocessor connected to the processor and a memorydevice connected to the processor, the memory device containing aprogram, adapted to be executed by the processor, for transmitting aplurality of available game selections each identified by a uniqueselection identifier, receiving a player selection identified by aplayer selection identifier, transmitting a winning selectionidentifier, and comparing said player selection identifier with saidwinning selection identifier to determine a result of said game ofchance, wherein the cryptoprocessor generates a first value based on thewinning selection identifier, said computing device transmits the firstvalue with the plurality of available game selections, thecryptoprocessor generates a second value based on the available gameselections other than the player selection after said computing devicereceives the player selection identifier, and said computing devicebefore transmitting the winning selection identifier transmits thesecond value, where comparison of a third value based on the playerselection and the second value with the first value verifies that thewinning selection identifier and the player selection identifier wereindependently generated.
 16. A system according to claim 15 , whereinthe first value, the second value and the third value are one-way hashvalues, and the third value is generated using a hash tree algorithm.17. A system for facilitating a computer-based game of chance,comprising: a computing device including a processor, a cryptoprocessorconnected to the processor and a memory device connected to theprocessor, the memory device containing a program, adapted to beexecuted by the processor, for transmitting a plurality of availablegame selections each identified by a unique selection identifier,receiving a player selection identified by a player selectionidentifier, transmitting a winning selection identifier, and comparingsaid player selection identifier with said winning selection identifierto determine a result of said game of chance, wherein thecryptoprocessor encrypts the winning selection identifier using aselected encryption key, said computing device transmits the encryptedwinning selection identifier before receiving the player selectionidentifier, and said computing device transmits the selected encryptionkey after receiving the player selection.
 18. A system according toclaim 17 , wherein said computing device transmits a digital signedencrypted winning selection identifier.
 19. A system according to claim17 , wherein the encryption key is based on a random number.
 20. Asystem for facilitating a computer-based game of chance, comprising: afirst computing device including a first processor and a first memorydevice connected to the first processor; and a second computing device,including a second processor and a second memory device connected to thesecond processor, the first memory device containing a first program,adapted to be executed by the first processor, for transmitting aplurality of available game selections each identified by a uniqueselection identifier, receiving a player selection identified by aplayer selection identifier, transmitting a winning selectionidentifier, and comparing said player selection identifier with saidwinning selection identifier to determine a result of said game ofchance, and the second memory device containing a second program,adapted to be executed by the second processor, for receiving thewinning selection identifier from said first computing device andtransmitting the winning selection identifier after said first computingdevice receives the player selection identified by the player selectionidentifier.
 21. A system for facilitating a computer-based game ofchance, comprising: a first computing device including a firstprocessor, a first cryptoprocessor connected to the first processor anda first memory device connected to the first processor, the first memorydevice containing a first program, adapted to be executed by the firstprocessor, for transmitting a plurality of available game selectionseach identified by a unique selection identifier, receiving a playerselection identified by a player selection identifier, transmitting awinning selection identifier, and comparing said player selectionidentifier with said winning selection identifier to determine a resultof said game of chance; and a second computing device, including asecond processor, a second cryptoprocessor connected to the secondprocessor and a second memory device connected to the second processor,the second memory device containing a second program, adapted to beexecuted by the second processor, for receiving the plurality ofavailable game selections from said first computing device, transmittingto the first computing device the player selection identified by theplayer selection identifier, and receiving the winning selectionidentifier from the first computing device.
 22. A method of generatingand verifying results of a computer-based game of chance, the methodcomprising the steps of: transmitting to a player computer a pluralityof available game selections each identified by a unique selectionidentifier; receiving from said player computer a player selectionidentified by a player selection identifier; transmitting to said playercomputer a winning selection identifier; comparing said player selectionidentifier with said winning selection identifier to determine if saidplayer has won said game of chance; and verifying that said winningselection identifier and said player selection identifier wereindependently generated.
 23. A method of generating and verifyingresults of a computer-based game of chance, the method comprising thesteps of: a first transmitting step of transmitting to a player computera plurality of available game selections each identified by a uniqueselection identifier; a first receiving step of receiving from saidplayer computer an encrypted player selection using a selectedencryption key to generate an encrypted player selection identifier;transmitting, after said first receiving step, to said player computer awinning selection identifier in an unencrypted format; comparing saidplayer selection identifier with said winning selection identifier todetermine if said player has won said game of chance; a second receivingstep of receiving from said player computer said selected encryptionmethod; decrypting said encrypted selected selection identifier usingsaid selected encryption key; and comparing the decrypted playerselection identifier with said winning selection identifier to verifythat said player has won said game of chance.
 24. A method according toclaim 22 , wherein said game of chance comprises an electronicallyimplemented punchboard.
 25. A method according to claim 22 , whereinsaid game of chance comprises an electronically implemented roulettewheel.
 26. A method according to claim 22 , wherein said game of chancecomprises an electronically implemented bingo game.
 27. A methodaccording to claim 22 , wherein said game of chance comprises anelectronically implemented slot machine.
 28. A method according to claim22 , wherein said game of chance comprises an electronically implementedlottery.
 29. A method according to claim 22 , wherein said transmittingand receiving are performed on an electronic network.
 30. A methodaccording to claim 29 , wherein said electronic network includes acommercial online service provider
 31. A method according to claim 22 ,wherein the selected encryption key is based on a random number.
 32. Amethod for generating and verifying results of a computer-based game ofchance, the method comprising the steps of: generating a winningselection identifier and a first value based thereon; transmitting to aplayer computer the first value and a plurality of available gameselections each identified by a unique selection identifier; receivingfrom said player computer a player selection identified by a playerselection identifier; transmitting the winning selection identifier tosaid player computer after receiving said player selection identifier;comparing said player selection identifier with said winning selectionidentifier to determine a result of said game of chance; and said firstvalue for comparison with a second value based on said transmittedwinning selection identifier to verify that the winning selectionidentifier and the player selection identifier were independentlygenerated.
 33. A method according to claim 32 , wherein the first valueand the second value are one-way hash values.
 34. A method of generatingand verifying results of a computer-based game of chance, the methodcomprising the steps of: generating a winning selection identifier and afirst value based thereon; transmitting to a player computer the firstvalue and a plurality of available game selections each identified by aunique selection identifier; receiving from said player computer aplayer selection identified by a player selection identifier;generating, after said receiving step, a second value based on theavailable game selections other than the player selection; transmittingthe second value to said player computer; transmitting a winningselection identifier, after said step of transmitting the second value;generating a third value based on the player selection and the secondvalue; comparing said player selection identifier with said winningselection identifier to determine a result of said game of chance; andcomparing the third value with the first value to verify that thewinning selection identifier and the player selection identifier wereindependently generated.
 35. A method according to claim 34 , whereinthe first value, the second value and the third value are one-way hashvalues, and the third value is generated using a hash tree algorithm.36. A method of generating and verifying results of a computer-basedgame of chance, the method comprising the steps of: transmitting to aplayer computer a plurality of available game selections each identifiedby a unique selection identifier; encrypting a winning selectionidentifier using a selected encryption key; transmitting the encryptedwinning selection identifier to said player computer; receiving, aftersaid step of transmitting the encrypted winning selection identifier, aplayer selection identified by a player selection identifier;transmitting, after said step of receiving the player selection, theselected encryption key to said player computer; and comparing saidplayer selection identifier with said winning selection identifier todetermine a result of said game of chance.
 37. A method according toclaim 36 , wherein said step of transmitting the encrypted selectionidentifier includes digitally signing said encrypted selectionidentifier.
 38. A method according to claim 36 , wherein the encryptionkey is based on a random number.
 39. A method of generating andverifying results of a computer-based game of chance, the methodcomprising the steps of: transmitting to a player computer a pluralityof available game selections each identified by a unique selectionidentifier; transmitting to a third-party computer a winning selectionidentifier; receiving, after said step of transmitting the winningselection identifier, from said player computer a player selectionidentified by a player selection identifier; transmitting, after saidreceiving step, the winning selection identifier to said playercomputer; and comparing said player selection identifier with saidwinning selection identifier to determine a result of said game ofchance.
 40. A device for facilitating a game of chance, comprising: afirst computing device including a first processor, a firstcryptoprocessor connected to the first processor and a first memorydevice connected to the first processor and containing a first programand a database containing information regarding a player of said gameand a distribution of prizes for said game; and a second computingdevice including a second processor, a second cryptoprocessor connectedto the second processor, a second memory device connected to the secondprocessor and containing a second program and a database containinginformation regarding game selections made by the player during saidgame, an input device connected to the second processor for inputtingthe game selections, and a display device connected to the secondprocessor for displaying a result of said game, the first program beingadapted to be executed by the first processor for transmitting aplurality of available game selections each identified by a uniqueselection identifier, receiving a player selection identified by aplayer selection identifier, transmitting a winning selectionidentifier, and comparing said player selection identifier with saidwinning selection identifier to determine the result of said game, andthe second program being adapted to be executed by the second processorfor receiving the plurality of available game selections from said firstcomputing device, transmitting to the first computing device the playerselection identified by the player selection identifier, and receivingthe winning selection identifier from the first computing device.
 41. Adevice according to claim 40 , wherein said first computing device andsaid second computing device each further comprise means forcommunicating on the Internet.
 42. A device according to claim 40 ,wherein said first computing device further comprises a first randomnumber generator for generating a random number used by the firstcryptoprocessor, and said second computing device further comprises asecond random number generator for generating a random number used bythe second cryptoprocessor.
 43. A computer readable medium in which isstored computer readable code to be executed by a computer, saidcomputer readable code performing a method of generating and verifyingresults of a computer-based game of chance, the method comprising thesteps of: transmitting to a player computer a plurality of availablegame selections each identified by a unique selection identifier;receiving from said player computer a player selection identified by aplayer selection identifier; transmitting to said player computer awinning selection identifier; comparing said player selection identifierwith said winning selection identifier to determine if said player haswon said game of chance; and verifying that said winning selectionidentifier and said player selection identifier were independentlygenerated.
 44. A computer readable medium according to claim 43 ,wherein communication between said computer and said player computer isperformed on the Internet.
 45. A method of participating in acomputer-based game of chance, comprising the steps of: receiving aplurality of available game selections each identified by a uniqueselection identifier; transmitting a player selection identified by aplayer selection identifier; receiving a winning selection identifieridentifying a winning selection; and verifying that the winningselection identifier and the player selection identifier wereindependently generated.
 46. A system for facilitating a computer-basedgame of chance, comprising: a computing device including a processor, acryptoprocessor connected to the processor, an input device connected tothe processor, a display device connected to the processor and a memorydevice connected to the processor, the memory device containing aprogram, adapted to be executed by the processor, for receiving aplurality of available game selections each identified by a uniqueselection identifier, receiving a player selection identified by aplayer selection identifier input from the input device, encrypting theplayer selection identifier using the cryptoprocessor according to anencryption key, transmitting the encrypted player selection identifier,receiving a winning selection identifier, transmitting the encryptionkey, comparing the player selection identifier with the winningselection identifier and displaying on the display device a result ofsaid game of chance, wherein said computing device receives the winningselection identifier in an unencrypted format after transmitting theencrypted player selection identifier, transmits the encryption keyafter receiving the winning selection identifier, and performs saidcomparing to verify the result of said game of chance.
 47. A system forfacilitating a computer-based game of chance, comprising: a computingdevice including a processor, a cryptoprocessor connected to theprocessor, an input device connected to the processor, a display deviceconnected to the processor and a memory device connected to theprocessor, the memory device containing a program, adapted to beexecuted by the processor, for receiving a plurality of available gameselections each identified by a unique selection identifier and a firstvalue based on a winning selection identifier, storing the first valuein the memory device, receiving a player selection identified by aplayer selection identifier input from the input device, transmittingthe player selection identifier, receiving the winning selectionidentifier, generating a second value using the cryptoprocessor based onthe received winning selection identifier, comparing said first valuewith said second value and displaying on the display device a result ofsaid game of chance, wherein the result of said game of chance is basedon a comparison of the player selection identifier with the winningselection identifier, and said computing device compares said firstvalue with said second value to verify that the winning selectionidentifier and the player selection identifier were independentlygenerated.
 48. A system for facilitating a computer-based game ofchance, comprising: a computing device including a processor, acryptoprocessor connected to the processor, an input device connected tothe processor, a display device connected to the processor and a memorydevice connected to the processor, the memory device containing aprogram, adapted to be executed by the processor, for receiving aplurality of available game selections each identified by a uniqueselection identifier and a first value based on a winning selectionidentifier, storing the first value in the memory device, receiving aplayer selection identified by a player selection identifier input fromthe input device, transmitting the player selection identifier,receiving a second value based on the available game selections otherthan the player selection, generating a third value based on the playerselection and the second value using the cryptoprocessor, comparing thethird value with the first value, receiving the winning selectionidentifier, and displaying on the display device a result of said gameof chance, wherein the result of said game of chance is based on acomparison of the player selection identifier with the winning selectionidentifier, said computing device receives the second value beforereceiving the winning selection identifier, and said computing devicecompares the third value with the first value to verify that the winningselection identifier and the player selection identifier wereindependently generated.
 49. A system for facilitating a computer-basedgame of chance, comprising: a computing device including a processor, acryptoprocessor connected to the processor, an input device connected tothe processor, a display device connected to the processor and a memorydevice connected to the processor, the memory device containing aprogram, adapted to be executed by the processor, for receiving aplurality of available game selections each identified by a uniqueselection identifier, receiving a player selection identified by aplayer selection identifier input from the input device, receiving awinning selection identifier in an encrypted format, transmitting theplayer selection identifier, receiving an encryption key, decrypting theencrypted winning selection identifier using the cryptoprocessor and theencryption key, and displaying on the display device a result of saidgame of chance, wherein said computing device receives the encryptedwinning selection identifier before transmitting the player selectionidentifier and receives the encryption key after transmitting the playerselection identifier, and the result of said game of chance is based ona comparison of the player selection identifier with the winningselection identifier.
 50. A system for facilitating a computer-basedgame of chance, comprising: a first computing device including a firstprocessor, an input device connected to the first processor, a displaydevice connected to the first processor and a first memory deviceconnected to the first processor; and a second computing device,including a second processor and a second memory device connected to thesecond processor, the first memory device containing a first program,adapted to be executed by the first processor, for receiving a pluralityof available game selections each identified by a unique selectionidentifier, receiving a player selection identified by a playerselection identifier input from the input device, transmitting theplayer selection identifier, receiving a winning selection identifierfrom said second computing device, and displaying on the display devicea result of said game of chance, and the second memory device containinga second program, adapted to be executed by the second processor, fortransmitting the winning selection identifier to said first computingdevice after said first computing device transmits the player selectionidentifier, wherein the result of said game of chance is based on acomparison of the player selection identifier with the winning selectionidentifier.
 51. A method of generating and verifying results of acomputer-based game of chance, the method comprising the steps of:receiving a plurality of available game selections each identified by aunique selection identifier; inputting a player selection identified bya player selection identifier; encrypting the player selectionidentifier using an encryption key; transmitting the encrypted playerselection identifier; receiving a winning selection identifier;comparing the player selection identifier with the winning selectionidentifier to determine if said player has won said game of chance; andtransmitting the encryption key, wherein the winning selectionidentifier is received in an unencrypted format after the encryptedplayer selection identifier is transmitted, the encryption key istransmitted after the winning selection identifier is received, and acomparison of the player selection identifier with the winning selectionidentifier verifies that said player has won said game of chance.
 52. Amethod of generating and verifying results of a computer-based game ofchance, the method comprising the steps of: receiving a plurality ofavailable game selections each identified by a unique selectionidentifier and a first value based on a winning selection identifier;inputting a player selection identified by a player selectionidentifier; transmitting the player selection identifier; receiving thewinning selection identifier; generating a second value based on thereceived winning selection identifier; and comparing said first valuewith said second value to verify that the winning selection identifierand the player selection identifier were independently generated.
 53. Amethod of generating and verifying results of a computer-based game ofchance, the method comprising the steps of: receiving a plurality ofavailable game selections each identified by a unique selectionidentifier and a first value based on a winning selection identifier;inputting a player selection identified by a player selectionidentifier; transmitting the player selection identifier; receiving asecond value based on the available game selections other than theplayer selection; generating a third value based on the player selectionand the second value; comparing the third value with the first value;and receiving the winning selection identifier; wherein the second valueis received before the winning selection identifier is received, andsaid step of comparing the third value with the first value verifiesthat the winning selection identifier and the player selectionidentifier were independently generated.
 54. A method of generating andverifying results of a computer-based game of chance, the methodcomprising the steps of: receiving a plurality of available gameselections each identified by a unique selection identifier; inputting aplayer selection identified by a player selection identifier; receivinga winning selection identifier in an encrypted format; transmitting theplayer selection identifier; receiving an encryption key; and decryptingthe encrypted winning selection identifier in accordance with theencryption key, wherein the encrypted winning selection identifier isreceived before the player selection identifier is transmitted, theencryption key is received after the player selection identifier istransmitted, and a comparison of the player selection identifier withthe winning selection identifier decrypted according to the encryptionkey verifies that said player has won said game of chance.
 55. A methodof generating and verifying results of a computer-based game of chance,the method comprising the steps of: receiving from a game servercomputer a plurality of available game selections each identified by aunique selection identifier; inputting a player selection identified bya player selection identifier; transmitting the player selectionidentifier to the game server computer; and receiving from a third-partycomputer a winning selection identifier, wherein the winning selectionidentifier is received from the third-party computer after said step oftransmitting the player selection identifier.